package com.gx.service;

import com.gx.model.dto.task.StartFlowTaskInfoDto;

/**
 * 流程实例操作
 * @author lpj
 */
public interface FlowInstanceService {
    /**
     * 根据流程定义ID启动流程实例
     * @param dto 参数
     */
    void startProcessInstanceById(StartFlowTaskInfoDto dto);

    /**
     * 删除流程实例ID
     *
     * @param instanceId   流程实例ID
     * @param deleteReason 删除原因
     */
    void delete(String instanceId, String deleteReason);

    /**
     * 流程实例挂起或激活
     * @param state 状态
     * @param instanceId 实例id
     */
    void updateState( String instanceId);

    /**
     * 结束流程实例
     *
     * @param instanceId 实例id
     */
    void stopProcessInstance(String instanceId);

}
